
using System;
using UnityEngine;
using UnityEngine.Events;

namespace DTFramework
{
  public enum Movement
  {
    move = 1, rotate = 2, scale = 3, keyboard = 4, viewSkip = 5
  }
  public interface ICameraControl
  {
    bool IsLockCamera { get; set; }
    Camera CameraUtil { get; }
    InputManager InputManager { get; }
    event Action<Movement> OnChanged;

    void MoveRotateLookToTarget(Vector3 targetLookPos, float distance = 60, UnityAction callback = null);
    void MoveRotateToTarget(Vector3 targetPos, Vector3 targetAngle, bool isRepeat = true, UnityAction callback = null);
  }
}